<?php
require_once 'login.php';
require_once 'DAO/DAOEventos.php';
require_once 'DAO/DAOConfirmados.php';
require_once 'DAO/DAOEstatisticaEvento.php';

class EventoController {

    private $evento;

    public function getEvento() {
        return $this->evento;
    }

    function EventoController() {
        $gets = explode("/", $_SERVER['REQUEST_URI']);
        $ss = (isset($gets[2])) ? $gets[2] : NULL;
        if ($ss != NULL) {
            $de = new DAOEventos();
            $this->evento = $de->getEvento(number_format($ss));
            if ($this->evento != NULL) {
                $this->verificaFormPresenca($this->evento);
                $this->addEstatistica($this->evento);
                $this->verificaFormComentario();
                $this->verificaFormDeleteComentarioEvento();
//                FuncoesGerais::$titulo=  $this->evento->getTitulo();
                require_once 'viewEvento.php';
            } else {
                require_once 'viewErro.php';
            }
        } else {
            require_once 'viewErro.php';
        }
    }

    /*          Verifica se foi envido Forms de Confirmar ou desconfirmar Presença      */

    private function verificaFormPresenca(Evento $evento) {
        $usuario = null;
        if (isset($_SESSION['Usuario'])) {
            $usuario = $_SESSION['Usuario'];
        }
        $dc = new DAOConfirmados();
        if (isset($_POST['formConfirmaPresenca'])) {
            $dc->addConfirmado(new Confirmados($usuario, $evento));
        }
        if (isset($_POST['formDesconfirmaPresenca'])) {
            $dc->removeConfirmado(new Confirmados($usuario, $evento));
        }
    }

    /*          Verifica se foi Enviado um Comentario           */

    function verificaFormComentario() {
        if (isset($_POST['formComentarioEvento'])) {
            $DAOComentario = new DAOComentarioEvento();
            $DAOComentario->addComentario(new Comentario(LoginController::singleton()->getUsuario(), $this->evento, $_POST['edtComentario']));
        }
    }
    /*          Verifica se foi enviado Forms de Deletar comentario      */
    private function verificaFormDeleteComentarioEvento() {
        if (isset($_POST['formDeleteComentarioEvento'])) {
            if (is_numeric($_POST['edtComentario'])) {
                $dce = new DaoComentarioEvento();
                $dce->deleteComentarioById($_POST['edtComentario']);
            }
        }
    }

    /*          Add contagem as Estatistica do evento           */

    private function addEstatistica(Evento $evento) {
        $usuario = null;
        if (isset($_SESSION['Usuario'])) {
            $usuario = $_SESSION['Usuario'];
        }
        $DAOEstatisticaEvento = new DAOEstatisticaEvento();
        $DAOEstatisticaEvento->addEstatisticaEvento(new Estatistica($this->evento, $usuario, 0, 0, $_SERVER["REMOTE_ADDR"]));
    }

    function getConfirmados(Evento $evento) {
        $confirmados = $evento->getConfirmados();
        ?>
        <table class="table table-striped">
            <?
           $cont=0;
            foreach ($confirmados as $confirmado) {
                if($cont==5){
                    break;
                }
                $cont++;
                ?>
                <tr>
                    <td><img src="/img/icon-Empresa.png" style="max-height: 20px; min-height: 20px;"/></td>
                    <td style="word-wrap: break-word;"><? echo $confirmado->getUsuario()->getNome(); ?></td>
                </tr>
                <?
            }
            ?>
        </table>

        <h5><? echo count($confirmados); ?> Pessoa(s) confirmada(s)</h5>

        <?
        if (isset($_SESSION['Usuario'])) {
            $usuario = $_SESSION['Usuario'];
            if (is_a($usuario, 'Usuario')) {
                if (!$evento->usuarioEstaConfirmado($usuario)) {
                    ?>
                    <form method="POST" action="">
                        <input type="hidden" name="formConfirmaPresenca" value="formConfirmaPresenca"/>
                        <button type="submit" class="btn btn-primary btn-large">Confirmar Presença</button>
                    </form>
                    <?
                } else {
                    ?>
                    <form method="POST" action="">
                        <input type="hidden" name="formDesconfirmaPresenca" value="formDesconfirmaPresenca"/>
                        <button type="submit" class="btn btn-primary btn-large">Não vou mais</button>
                    </form>
                    <?
                }
            }
        } else {
            echo "Você não está Online, Click Aqui para se Conectar e confirmar Presença.";
        }
    }

    function getLotesEvento(Evento $evento) {
        require_once 'DAO/DAOLote.php';
        $lotes = $evento->getLotes();
        if (empty($lotes)) {
            ?>
            <div class="alert-block alert-error">
                Nenhum Lote Cadastrado :/
            </div>
            <?
        } else {
            ?>
            <ul class="unstyled text-center">
                <?
                foreach ($lotes as $lote) {
                    ?>
                    <div class="alert-info">
                        <li>
                            <p><strong>Lote <? echo $lote->getNumero(); ?></strong><br>
                                <? //echo "Inicio: ".$lote->getDataInicio()." Fim: ".$lote->getDataFim()."<br>";     ?>
                                <? echo "Homem: " . $lote->getVlrHomem() . " Mulher: " . $lote->getVlrMulher(); ?>
                            </p>
                        </li>
                    </div>
                    <?
                }
                ?>
                <a class="btn btn-large btn-primary disabled">Compre Aqui</a>
            </ul>

            <?
        }
    }

    function getImagensEvento(Evento $evento) {
        ?>
        <div id="principal" class="lightbox hide fade"  tabindex="-1" role="dialog" aria-hidden="true">
            <div class='lightbox-content'>
                <img class="img-polaroid span12" style="margin: 0px;" src="/img/<? echo $evento->getImagemPrincipal()->getImagem() ?>" alt="photo">';
            </div>
        </div>
        <a data-toggle="lightbox" href="#principal" data-target="#principal"><img class="img-polaroid span12" style="margin: 0px;" src="/img/<? echo $evento->getImagemPrincipal()->getImagem() ?>" alt="photo"></a>

        <br>
        <?
        ?>
        <div class="row-fluid">
            <?
            $image = $evento->getImagens(4);
            $cont = 0;
            foreach ($image as $img) {
                ?>
                <div id="principal<? echo $cont; ?>" class="lightbox hide fade"  tabindex="-1" role="dialog" aria-hidden="true">
                    <div class='lightbox-content'>
                        <img class="img-polaroid span12" src="/img/<? echo $img->getImagem(); ?>" alt="photo">';
                    </div>
                </div>
                <a data-toggle="lightbox" href="#principal<? echo $cont; ?>" data-target="#principal<? echo $cont; ?>"><img class="img-polaroid span3" style="max-height: 50px; min-height: 50px;" src="/img/<? echo $img->getImagem(); ?>" alt="photo"></a>
                <?
                $cont = $cont + 1;
            }
            ?>
        </div>
        <?
    }
    function getNotaEvento() {
        ?>
        <div class="span4 text-center label label-success">
            <i class="icon-star"> </i><i class="icon-star"> </i><i class="icon-star"> </i><i class="icon-star"> </i><i class="icon-star"> </i>
            <h1 style="margin-top: 0px;">Nota: 10.0</h1>
        </div>
        <?
    }
    function getComentariosEvento(Evento $evento, $limite=0) {
        $comentarios = $evento->getComentarios($limite);
        ?>
        <div class="span8">
            <?
            foreach ($comentarios as $comentario) {
                ?>
                <blockquote style="word-wrap: break-word;">
                    <p><? echo $comentario->getComentario(); ?></p>
                    <small><? echo $comentario->getUsuario()->getNome(); ?></small>
                    <?
                    if (LoginController::singleton()->estaConectado()) {
                        if (LoginController::singleton()->getTipo() == TIPO_EMPRESA) {
                            $this->empresa = LoginController::singleton()->getUsuario();
                            if ($evento->getEmpresa()->getCodigo() == $this->empresa->getCodigo()) {
                                ?>
                                <form action = "" method = "POST">
                                    <input type = "hidden" name = "formDeleteComentarioEvento" value = "formDeleteComentarioEvento"/>
                                    <input type = "hidden" name = "edtComentario" value = "<? echo $comentario->getCodigo(); ?>"/>
                                    <right><button class="btn" name="btnSubmit" type="submit" value="delete" title="Excluir"><i class="icon-remove"></i></button></right>
                                </form>
                                <?
                            }
                        } else {
                            $this->usuario = LoginController::singleton()->getUsuario();
                            if ($this->usuario->getCodigo() == $comentario->getUsuario()->getCodigo()) {
                                ?>
                                <form action = "" method = "POST">
                                    <input type = "hidden" name = "formDeleteComentarioEvento" value = "formDeleteComentarioEvento"/>
                                    <input type = "hidden" name = "edtComentario" value = "<? echo $comentario->getCodigo(); ?>"/>
                                    <right><button class="btn" name="btnSubmit" type="submit" value="delete" title="Excluir"><i class="icon-remove"></i></button></right>
                                </form>
                                <?
                            }
                        }
                    }
                    ?>
                </blockquote>
                <?
            }
            ?>
            <?
            if (isset($_SESSION['Usuario'])) {
                ?>
                <form method="POST" action="">
                    <input type="hidden" name="formComentarioEvento" id="formComentarioEvento"/>
                    <textarea class="span12" name="edtComentario" id="edtComentario" placeholder="Diga o que você acha desta republica..."></textarea>
                    <button type="submit" class="btn">Enviar Comentario</button>
                </form>
                <?
            }
            ?>
        </div>
        <?
    }
    function getTodosComentarios() {
        ?>
        <div class="span12" style="padding: 0px; margin: 0px;">
            <center>
                <a href="#modalComentario" role="button" class="btn" data-toggle="modal">Ver Todos os Comentarios</a>
            </center>
            <div id="modalComentario" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                    <h3 id="myModalLabel">Comentarios</h3>
                </div>
                <div class="modal-body well">
                    <? $this->getComentariosEvento($this->getEvento()); ?>
                </div>
                <div class="modal-footer">
                    <button class="btn" data-dismiss="modal" aria-hidden="true">Fechar</button>
                </div>

            </div>
        </div>
        <?
    }


}
?>
